/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Entidades;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author USER
 */
@Entity
@Table(name = "detallerecepcion", catalog = "pesaje", schema = "")
@NamedQueries({
     @NamedQuery(name = "Detallerecepcion.findByEstado", query = "SELECT d FROM Detallerecepcion d JOIN d.estadoespera p WHERE p.idEstadoEspera = :estado"),
    @NamedQuery(name = "Detallerecepcion.findAll", query = "SELECT d FROM Detallerecepcion d"),
    @NamedQuery(name = "Detallerecepcion.findByIdDetalleRecepcion", query = "SELECT d FROM Detallerecepcion d WHERE d.idDetalleRecepcion = :idDetalleRecepcion"),
    @NamedQuery(name = "Detallerecepcion.findByCuartel", query = "SELECT d FROM Detallerecepcion d WHERE d.cuartel = :cuartel"),
    @NamedQuery(name = "Detallerecepcion.findByNumeroBines", query = "SELECT d FROM Detallerecepcion d WHERE d.numeroBines = :numeroBines")})
public class Detallerecepcion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idDetalleRecepcion")
    private Integer idDetalleRecepcion;
    @Basic(optional = false)
    @Column(name = "cuartel")
    private int cuartel;
    @Basic(optional = false)
    @Column(name = "numeroBines")
    private int numeroBines;
    @JoinColumn(name = "numeroRecepcion", referencedColumnName = "numeroRecepcion")
    @ManyToOne
    private Recepcion recepcion;
    @JoinColumn(name = "idStock", referencedColumnName = "idStock")
    @ManyToOne
    private Stockproducto stockproducto;
    @JoinColumn(name = "idProducto", referencedColumnName = "idProducto")
    @ManyToOne(optional = false)
    private Producto producto;
    @JoinColumn(name = "idLagar", referencedColumnName = "idLagar")
    @ManyToOne
    private Lagar lagar;
    @JoinColumn(name = "idEstadoEspera", referencedColumnName = "idEstadoEspera")
    @ManyToOne
    private Estadoespera estadoespera;
    @JoinColumn(name = "idEmpaque", referencedColumnName = "idEmpaque")
    @ManyToOne(optional = false)
    private Empaque empaque;
    @JoinColumn(name = "idCondicion", referencedColumnName = "idCondicion")
    @ManyToOne
    private Condicion condicion;
    @JoinColumn(name = "idPesajesalida", referencedColumnName = "idpesajesalida")
    @ManyToOne
    private Pesajesalida pesajesalida;
    @JoinColumn(name = "idPesajeentrada", referencedColumnName = "idpesajeentrada")
    @ManyToOne
    private Pesajeentrada pesajeentrada;

    public Detallerecepcion() {
    }

    public Detallerecepcion(Integer idDetalleRecepcion) {
        this.idDetalleRecepcion = idDetalleRecepcion;
    }

    public Detallerecepcion(Integer idDetalleRecepcion, int cuartel, int numeroBines) {
        this.idDetalleRecepcion = idDetalleRecepcion;
        this.cuartel = cuartel;
        this.numeroBines = numeroBines;
    }

    public Integer getIdDetalleRecepcion() {
        return idDetalleRecepcion;
    }

    public void setIdDetalleRecepcion(Integer idDetalleRecepcion) {
        this.idDetalleRecepcion = idDetalleRecepcion;
    }

    public int getCuartel() {
        return cuartel;
    }

    public void setCuartel(int cuartel) {
        this.cuartel = cuartel;
    }

    public int getNumeroBines() {
        return numeroBines;
    }

    public void setNumeroBines(int numeroBines) {
        this.numeroBines = numeroBines;
    }

    public Recepcion getRecepcion() {
        return recepcion;
    }

    public void setRecepcion(Recepcion recepcion) {
        this.recepcion = recepcion;
    }

    public Stockproducto getStockproducto() {
        return stockproducto;
    }

    public void setStockproducto(Stockproducto stockproducto) {
        this.stockproducto = stockproducto;
    }

    public Producto getProducto() {
        return producto;
    }

    public void setProducto(Producto producto) {
        this.producto = producto;
    }

    public Lagar getLagar() {
        return lagar;
    }

    public void setLagar(Lagar lagar) {
        this.lagar = lagar;
    }

    public Estadoespera getEstadoespera() {
        return estadoespera;
    }

    public void setEstadoespera(Estadoespera estadoespera) {
        this.estadoespera = estadoespera;
    }

    public Empaque getEmpaque() {
        return empaque;
    }

    public void setEmpaque(Empaque empaque) {
        this.empaque = empaque;
    }

    public Condicion getCondicion() {
        return condicion;
    }

    public void setCondicion(Condicion condicion) {
        this.condicion = condicion;
    }

    public Pesajesalida getPesajesalida() {
        return pesajesalida;
    }

    public void setPesajesalida(Pesajesalida pesajesalida) {
        this.pesajesalida = pesajesalida;
    }

    public Pesajeentrada getPesajeentrada() {
        return pesajeentrada;
    }

    public void setPesajeentrada(Pesajeentrada pesajeentrada) {
        this.pesajeentrada = pesajeentrada;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idDetalleRecepcion != null ? idDetalleRecepcion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Detallerecepcion)) {
            return false;
        }
        Detallerecepcion other = (Detallerecepcion) object;
        if ((this.idDetalleRecepcion == null && other.idDetalleRecepcion != null) || (this.idDetalleRecepcion != null && !this.idDetalleRecepcion.equals(other.idDetalleRecepcion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entidades.Detallerecepcion[idDetalleRecepcion=" + idDetalleRecepcion + "]";
    }

}
